iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
1

先附上參考來源: 設計模式 - 工廠方法及抽象工廠

緣起:
最近在讀清潔程式碼-架構篇,剛好有提到抽象工廠模式,之前其實已經看過這篇,不過因為是一開始寫js所以對物件導向,物件設計就像現實事件這個說法,一直不太能夠體會,現在也差不多寫了一年了,開始有點感覺了,趁機會再次理解一下抽象工廠,我是參考上面的文章學習,文章主要從最基礎寫法,到簡單工廠,到抽象工廠,循序漸進的解說,我覺得滿好理解的,建議一定要搭配在紙上畫下架構幫助理解,我會區分為簡單工廠和抽象工廠,來做理解紀錄.

什麼是簡單工廠?
1.基礎寫法
文章中是以PizzaStore作為舉例,要做一個pizza,首先需要先決定要什麼口味,例如起司或者海鮮,接著根據不同口味,實例化對應的pizza類別(ex. new CheesePizza()),第二部則是根據口味執行備料的method pizza.prepare(),最後一步是執行 pizza.cook() 烹飪的method.

2.簡述
簡單工廠就是把實例化pizza類別的部分,抽出成為SimplePizzaFactory類別,使用簡單工廠管理物件的創造,如果client需要取得物件,只要給工廠參數就可以了,改寫基礎寫法,這時候 PizzaStore 只需要實例化 SimplePizzaFactory,並且給於參數,即可取得所需要的物件

3.優點
* 分離物件的創造和使用,降低client對於實作的依賴

4.缺點
* 當有新類別需求出現時候,需要改寫SimplePizzaFactory類別

5.心得
我自己目前的層次是理解到簡單工廠的部分,抽離建立物件與實作,降低依賴性,這邊感覺比較像是,抽出共用部分,減少更改的機會,不過我自己目前使用js比較少用到類別的機會,接下來任務,我會盡量以物件導向和簡單工廠模式去做箝制思考與規劃


上一篇
D13 專輯精選|寫code時候,適合聽聽
下一篇
D15 CH13 元件內聚性
系列文
30天|入門NestJs連載學習筆記26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言